/**
 * Copyright (c) 2007,中企动力华南研发中心
 * All rights reserved.
 */
package com.ce.pms.house.service;

import java.util.Set;

import com.ce.pms.base.service.IPmsBaseService;
import com.ce.pms.house.model.ImageDomain;
import com.ce.pms.house.vo.ImageVO;

/**
 * 功能描述：
 * @author 罗军林 创建日期：2008-6-27
 */
public interface IImageService extends IPmsBaseService{

	/**
	 * 功能描述:根据ID查询image信息
	 * @param id
	 * @return
	 * Create author:罗军林
	 * Create on:2008-6-27
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public ImageVO findImageByID(Long id);

	/**
	 * 功能描述:根据id删除图片信息
	 * @param id
	 * Create author:罗军林
	 * Create on:2008-6-27
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public void deleteImageByID(Long id);

	/**
	 * 功能描述:添加一个图片到数据库中,并返回该ID
	 * @param imageVO
	 * Create author:罗军林
	 * Create on:2008-6-27
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public Long addImage(ImageVO imageVO);

	/**
	 * 功能描述:
	 * @param imageVO
	 * Create author:罗军林
	 * Create on:2008-6-27
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public void editImage(ImageVO imageVO);

	/** 功能描述:将Vo转换成DO
	 * @param imageVO
	 * @return
	 * Create author:罗军林
	 * Create on:2008-6-27
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public ImageDomain converVoToDomain(ImageVO imageVO);

	/** 功能描述:将Do转换成VO
	 * @param imageDomain
	 * @return
	 * Create author:罗军林
	 * Create on:2008-6-27
	 * Edit author:
	 * Edit on:
	 * Why:
	 */
	public ImageVO convertDomainToVo(ImageDomain imageDomain);

	/**
	 * 功能描述: 对多个图片进行处理 <br>
	 *
	 * @link com.ce.pms.house.service.impl.ImageServiceImpl#processImage(ImageVO)
	 * @param imageVos
	 * @param operator
	 * @return Set<ImageDomain>
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2008-8-5  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public Set<ImageDomain> processImageSet(Set<ImageVO> imageVos,Long operator);

	/**
	 * 功能描述: 得到一个可能的图片Domain <br>
	 * @param imageVo
	 * @return
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2008-8-5  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	*/
	public ImageDomain getPossibleImageDomain(ImageVO imageVo,Long operator);

	/**
	 * 功能描述: 得到一个可能的图片Domain，
	 * 所得到的返回值图片实体如果不为空，是使用new实例化的，并设置了id值 <br>
	 * @param imageVo
	 * @return
	 *
	 * Create author:付湘辉 <br>
	 * Create on:2008-8-5  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	*/
	public ImageDomain getPossibleImageDomain(ImageVO imageVo);
}
